#!/bin/bash

# 设置Git配置
git config --global user.name "libaos"
git config --global user.email "746315841@qq.com"

# 设置凭证缓存，避免重复输入密码
git config --global credential.helper store

# 设置工作目录
cd /root/catkin_ws/src

# 删除可能存在的.git目录（如果存在）
rm -rf .git

# 查找并删除子仓库.git目录
find . -name ".git" -type d | grep -v "^./.git$" | xargs rm -rf

# 初始化git仓库
git init

# 添加.gitignore文件，排除一些不需要的文件
cat > .gitignore << EOF
build/
devel/
logs/
.catkin_workspace
.catkin_tools/
*.bag
*.pcd
*.bin
*.ply
*.csv
*.pyc
__pycache__/
*.so
*.o
*.a
*.la
*.lo
EOF

# 添加所有文件
git add .

# 提交更改
git commit -m "Initial commit: ROS workspace with Auto Navigation System"

# 添加远程仓库
git remote add origin https://gitee.com/libaos/auto_navigation.git

# 尝试强制推送到远程仓库
echo "正在将代码推送到Gitee仓库，这可能需要一些时间..."
git push -u origin master --force

# 检查推送结果
if [ $? -eq 0 ]; then
    echo "所有src目录下的代码已成功上传到Gitee仓库！"
else
    echo "推送失败，可能需要手动输入用户名和密码。"
    echo "请尝试运行以下命令："
    echo "cd /root/catkin_ws/src && git push -u origin master --force"
fi